<!-- 
  虽然jQuery提供了 each 方法，但是，由于JS中循环语法太多，ES6出了一个 for ... of 统一了，
  所以建议也使用 for ... of 来遍历 jq 对象 
-->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script src="../jquery.min.js"></script>
    <script>
      $(function () {
        $('#btn').on('click', function () {
          const lis = $('ul > li')
          // console.log(lis)

          // lis 是个 jq 对象，jq 对象是个伪数组，把伪数组转成真数组（Array.from(lis)）就完事了
          for (const [i, el] of Array.from(lis).entries()) {
            // console.log(i, v)
            $(el).text(i)
          }

          // jq对象直接就支持了 for ... of，可以当数组用，但是会多出额外的属性，比如：length 等
          // for (const [i, v] of Object.entries(lis)) {
          //   console.log(i, v)
          // }
        })
      })
    </script>
  </head>
  <body>
    <button id="btn">点击后，给li加索引值</button>
    <ul>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
    </ul>
  </body>
</html>
